package com.weitu.worklicense.mapper;

import com.weitu.worklicense.entity.LicenseMeasure;
import com.weitu.worklicense.entity.LicenseMeasureCriteria;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author LiMeng
 * date 2017/06/02 15:56
 */
public interface LicenseMeasureMapper {
    /** 
     * 查询数量
     * @param example 条件对象
     */
    int countByCriteria(LicenseMeasureCriteria example);

    /** 
     * 根据ID删除
     * @param id 主键ID
     */
    int deleteByPrimaryKey(String id);

    /**
     * 根据许可证id删除
     * @param licenseId 许可证id
     */
    int deleteByLicenseId(String licenseId);

    /** 
     * 添加对象所有字段
     * @param record 插入字段对象(必须含ID）
     */
    int insert(LicenseMeasure record);

    /** 
     * 添加对象对应字段
     * @param record 插入字段对象(必须含ID）
     */
    int insertSelective(LicenseMeasure record);

    /** 
     * 根据条件查询
     * @param example 条件对象
     */
    List<LicenseMeasure> selectByCriteria(LicenseMeasureCriteria example);

    /** 
     * 根据ID查询
     * @param id 主键ID
     */
    LicenseMeasure selectByPrimaryKey(String id);

    /** 
     * 根据条件修改对应字段
     * @param record 修改字段对象 (JOPO)
     * @param example 条件对象
     */
    int updateByCriteriaSelective(@Param("record") LicenseMeasure record, @Param("example") LicenseMeasureCriteria example);

    /** 
     * 根据条件修改所有字段
     * @param record 修改字段对象 (JOPO)
     * @param example 条件对象
     */
    int updateByCriteria(@Param("record") LicenseMeasure record, @Param("example") LicenseMeasureCriteria example);

    /** 
     * 根据ID修改对应字段
     * @param record 修改字段对象(必须含ID）
     */
    int updateByPrimaryKeySelective(LicenseMeasure record);

    /** 
     * 根据ID修改所有字段(必须含ID）
     * @param record 修改字段对象(必须含ID）
     */
    int updateByPrimaryKey(LicenseMeasure record);
}